In computer graphics, a quad may be used to render a two dimensional sprite onto a background. The quad is typically defined such that it includes all of the pixels of the sprite. Such quads, however, can include a large number of pixels that do not add anything to the sprite—e.g., that are rendered transparently onto the background. Even though rendering these pixels does not change the background displayed on the screen because they are transparent, the rendering hardware still processes them, and consumes resources that could otherwise be available for rendering other pixels. For example, unnecessarily rendering pixels may waste a portion of the finite fill rate typically available in rendering hardware. This waste of resources is even greater when the image has an alpha channel, because read-modify-write logic may be required for every pixel within the quad.
In order to reduce the number of pixels that are unnecessarily rendered, and to thereby free up a portion of the finite fill rate, a convex hull may be generated that convexly encapsulates the pixels of the sprite. The contours of the convex hull define the boundaries of pixels that will be rendered, which may encompass fewer transparent pixels than a simple quad. Even a convex hull, however, may include many transparent pixels.